package com.ccb.afm.util;

import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;

public class ByteBufferInputStream extends InputStream {

	private int bbisInitPos;
	  private int bbisLimit;
	  private ByteBuffer bbisBuffer;

	  public ByteBufferInputStream(ByteBuffer buffer) {
	    this(buffer, buffer.limit() - buffer.position());
	  }

	  public ByteBufferInputStream(ByteBuffer buffer, int limit) {
	    bbisBuffer = buffer;
	    bbisLimit = limit;
	    bbisInitPos = bbisBuffer.position();
	  }

	  @Override
	  public int read() throws IOException {
	    if (bbisBuffer.position() - bbisInitPos > bbisLimit)
	      return -1;
	    return bbisBuffer.get();
	  }


}
